- Dynamic items: the modifiers of the default item (the one that shows up if no modifiers are pressed) are used as a mask, so any item alternates must _at least_ have those modifiers.
- Fixed menu width bug with dynamic items.
- Revised sample code.
- Known Bugs: 1. Missing API and Sample Code in C (either by porting the API code or by providing a library with a C header file)
2. Implement using PowerPC Universal Headers for C sample code.
3. Flicker in dynamic items that don't change when modifiers change
4. Documentation is sketchy
Version 1.2b18
=============
- NEW FEATURE: Dynamic items! They work, too!
- Major internal changes to support new feature.
- Revamped callback structure
- API routines changed to all have "MDEF_" prefix
- Bug fix in drawing color menus
- Still need to do: C sample code, finish documentation
Version 1.2b13
=============
- Slightly revised documentation
- Pseudo-public release to MacDevelop ftp site.
Version 1.2b12
==============
- integrated all MDEFs into one
- support for DrawItemMsg and CalcItemSize msg (new in System 7) -- check out the "Test Popup Menu" window
- introduced Menu preferences for setting style bit mapping and required modifier keys
- new 'dirty' parameter to Callback avoids unnecessary flicker
- revamped documentation
Still to do
=========
- International guidelines. One of the biggest issues still facing us is STILL how to deal with international keyboards and keysets. In particular, do I map key equivalents to particular characters, or to particular keys. Any thoughts on the matter would be appreciated…
- Investigate different ways of storing globals in Mercutio. Mercutio currently
appends globals and menu-relative data to the end of the MENU resource. This
slows down PowerMenuKey if it has to parse through alot of menuHandles, each
of which may have its own "styles-to-features" mapping. I plan to split this
into two tasks:
1. Store globals via A4/A5 relative or Rollins' globals method as
described in Develop.
2. Come up with a mechanism to quickly accessing menu-relative
data. This is a tricky one. I think the only way to do it is to store
the data at the end of the menuHandle: this makes sure the data moves
with the menu if it is renumbered, and is deleted when the menuHandle